In general, the DNS enables translation of domain names to Internet Protocol (IP) addresses. Such translation makes it possible to attach easy-to-remember domain names (e.g., “domainname.org”) to difficult-to-remember IP addresses (e.g., “200.140.130.120”). A detailed description of conventional DNS is provided in a document entitled “RFC 1035—DOMAIN NAMES_IMPLEMENTATION AND SPECIFICATION”, by P. Mockapetris, November 1987, the teachings of which are hereby incorporated by reference in their entirety.
With the Dynamic Host Configuration Protocol (DHCP), DHCP client computers obtain dynamically assigned IP addresses from DHCP servers. Such dynamically assigned IP addresses are valid for specific amounts of time (i.e., lease times). If a DHCP client computer is unable to renew its IP address lease or if the DHCP client computer moves to a different subnet, the DHCP client computer must acquire a new IP address.
In order to keep DNS current in a DHCP environment, DNS client computers (e.g., DHCP servers) typically register and dynamically update their resource records (RRs) with authoritative DNS name servers whenever a change to an IP address or a name occurs. Such operation reduces the manual administration burden of zone records, i.e., master files which are managed by the authoritative DNS name servers. A detailed description of the conventional DNS update process is provided in a document entitled “RFC 2136—DYNAMIC UPDATES IN THE DOMAIN NAME SYSTEM (DNS UPDATE)”, by P. Vixie et. al., April 1997, the teachings of which are hereby incorporated by reference in their entirety.
One conventional authoritative DNS name server implementation (hereinafter referred to as the “general DNS name server approach”) employs primary authoritative DNS name servers for maintaining a master zone file. In particular, an active primary authoritative DNS name server controls an authoritative version of the master zone file. A backup primary authoritative DNS name server maintains a backup copy of the master zone file.
During normal operation, the active primary authoritative DNS name server is capable of (i) fulfilling requests for DNS information (i.e., DNS queries) as well as (ii) processing dynamic DNS updates to the master zone file (i.e., DNS messages configured to change RRs in the master zone file). Since the backup primary authoritative DNS name server merely maintains a backup copy of the master zone file, the backup primary authoritative DNS name server is capable of fulfilling requests for DNS information for load balancing purposes. However, the backup primary authoritative DNS name server cannot process dynamic DNS updates while the active primary authoritative DNS name server is available. Otherwise, the authoritative version of the master zone file managed by the active primary authoritative DNS name server would no longer match the backup copy of the master zone file managed by the backup primary authoritative DNS name server.
If the active primary authoritative DNS name server fails, the backup primary authoritative DNS name server then becomes capable of fulfilling requests for DNS information as well as processing dynamic DNS updates to the master zone file. That is, when the backup primary authoritative DNS name server detects a loss of the active primary authoritative DNS name server, the backup primary authoritative DNS name server becomes capable of making changes to the backup copy of the master zone file. Along these lines, if a DNS client sends a dynamic DNS update to the active primary authoritative DNS name server while the active primary authoritative DNS name server remains unavailable, the DNS client does not receive a response within a particular timeout period because the active primary authoritative DNS name server is unable to respond. After the DNS client waits for the time period to elapse, the DNS client sends the dynamic DNS update to the backup primary authoritative DNS name server which then processes the update. As a result, the updated backup copy of the master zone file then becomes the most current version of the master zone file.
When the active primary authoritative DNS name server is repaired and returns to operation, the active primary authoritative DNS name server synchronizes its authoritative version of the master zone file with the backup copy of the master zone file on the backup primary authoritative DNS name server. If a DNS client sends a dynamic DNS update to either the active primary authoritative DNS name server or the backup primary authoritative DNS name server during this synchronization process, the receiving authoritative DNS name server typically ignores the dynamic DNS update and thus the DNS client does not receive a response. Rather, the timeout period elapses and the DNS client re-tries (e.g., sends the dynamic DNS update to a different primary authoritative DNS name server, waits a predefined amount of time and re-sends the dynamic DNS update to the same primary authoritative DNS name server, etc.) until the dynamic DNS update is fulfilled.
Another conventional authoritative DNS name server implementation (hereinafter referred to as the “active directory” approach) employs multiple peer-level primary authoritative DNS name servers which can process dynamic DNS updates concurrently. That is, a first primary authoritative DNS name server can process a first dynamic DNS update while a second primary authoritative DNS name server processes a second dynamic DNS update. This “active directory” approach utilizes timestamps to coordinate DNS updates handled by the multiple primary authoritative DNS name servers.